# Author:Foru
# 主要知识点：列表入门

# 用户输入和格式化打印
name = input("name: ")
age = input("age: ")
job = input("job: ")
salary = input("salary: ")

# name 动态的出现在字符串中，字符串的拼接 用”+“ 符号拼接
info = '''-------INFO '''+ name+ '''--------
name:'''+name+'''
age:'''+age+'''
job:'''+job+'''
salary:'''+salary

# 优化字符串拼接：占位符 %s 动态的数据-->变量
# 优势：1.全部都写在一个大的字符串里面了
#     2.省略了"+"符号
# 缺点？ 如果有几百个需要填进去的内容？容易顺序乱掉！出现打印结果的不正确

info_占位符 = '''------INFO %s------
name:%s
age:%d
job:%s
salary:%d'''
print(info_占位符)

name = input("name:")
age = int(input("age:"))  #注意！ python中默认所有的输入均为string
job = input("job:")
salary = int(input("salary:"))

# .format()格式化 字符串
info_format = '''-----------INFO {姓名}----------
name:{姓名}
age:{年龄}
job:{工作}
salary:{薪水}'''.format(年龄=age,姓名=name,工作=job,薪水=salary)

print(info_format)

# .format()案例
url = "https://www.nfu.edu.cn/"  #官网的域名
# 目标获取高教动态的所有url链接
高教动态 = "gjdt"
url_页面 = ".htm"
url_页面细节不变 = "/index"

# for i in range(1,27):
#     完整的高教动态所有页面url = url+高教动态+ url_页面细节不变 + str(i)+url_页面
#     print(完整的高教动态所有页面url)

# 引入列表
user_data_list = [["tan",456123,20],["fo",123456,27],["ru",456789,19],["ya",987456,28]]
# password_list = [456123,123456,456789,987456]
# age = [20,27,19,28]

# -3，-2，-1，0，1，2，3，4..
# 1. 从左往右取值（index & slice）（索引 & 切片）
print(user_data_list[2])
# 切片 slice ，右边的值取不到 例如[0:3] 索引为3的值取不到
print(user_data_list[0:3])
# 当从0开始取值时，0 可以忽略不写
print(user_data_list[:3])
# 2. 从右往左取值(index & slice)
print(user_data_list[-2])
# 切片 slice ，右边的值取不到 例如[-3:-1] 索引为-1的值取不到
print(user_data_list[-3:-1])
# 如果取值为空：说明slice写错了 例如[-3:0]
# 如果要取到最后一个值，不能写0，直接省略不写
print(user_data_list[-3:0])
print(user_data_list[-3:])

# 步长，list列表slice ：[start:stop:step]（开始，结束，步长）
'''
如果没有指定开始值，则默认为0；
如果没有指定结束指，则取列表允许的最大值；
如果没有指定步长值，则默认步长为1.
'''

# 字符串可以被索引（下标），第一个字符的索引为 0。
word = 'nice'
print(word[0])
'n'
# 指数也可能是负数，从右边开始计数：
print(word[-1])
'e'
# 因为0和-0是相同的，因此负索引从-1开始。
# 索引用于获取单个字符，切片用于获取子字符串
print(word[0:2]) # characters from position 0 (included) to 2 (excluded)
'ni'